﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;

namespace Ocean.His.MedicalInsurance
{
    /// <summary>
    /// 3203
    /// 清算申请
    /// </summary>
    [DataContract]
    public class SI3203Data
    {

        /// <summary>
        /// 清算类别
        /// 参数类型：字符型
        /// 参数长度：30
        /// 代码标识：Y
        /// 是否必填：Y
        /// 
        /// </summary>
        [DataMember(Name = "clr_type")]
        public string ClrType { get; set; }

        /// <summary>
        /// 清算方式
        /// 参数类型：字符型
        /// 参数长度：30
        /// 代码标识：Y
        /// 是否必填：
        /// 
        /// </summary>
        [DataMember(Name = "clr_way")]
        public string ClrWay { get; set; }

        /// <summary>
        /// 清算年月
        /// 参数类型：字符型
        /// 参数长度：6
        /// 代码标识：
        /// 是否必填：Y
        /// 
        /// </summary>
        [DataMember(Name = "setlym")]
        public string Setlym { get; set; }

        /// <summary>
        /// 清算人次
        /// 参数类型：数值型
        /// 参数长度：6
        /// 代码标识：
        /// 是否必填：Y
        /// 
        /// </summary>
        [DataMember(Name = "psntime")]
        public decimal Psntime { get; set; }

        /// <summary>
        /// 医疗费总额
        /// 参数类型：数值型
        /// 参数长度：16,2
        /// 代码标识：
        /// 是否必填：Y
        /// 
        /// </summary>
        [DataMember(Name = "medfee_sumamt")]
        public decimal MedfeeSumamt { get; set; }

        /// <summary>
        /// 医保认可费用总额
        /// 参数类型：数值型
        /// 参数长度：16,2
        /// 代码标识：
        /// 是否必填：Y
        /// 
        /// </summary>
        [DataMember(Name = "med_sumfee")]
        public decimal MedSumfee { get; set; }

        /// <summary>
        /// 基金申报总额
        /// 参数类型：数值型
        /// 参数长度：16,2
        /// 代码标识：
        /// 是否必填：Y
        /// 
        /// </summary>
        [DataMember(Name = "fund_appy_sum")]
        public decimal FundAppySum { get; set; }

        /// <summary>
        /// 现金支付金额
        /// 参数类型：数值型
        /// 参数长度：16,2
        /// 代码标识：
        /// 是否必填：Y
        /// 
        /// </summary>
        [DataMember(Name = "cash_payamt")]
        public decimal CashPayamt { get; set; }

        /// <summary>
        /// 个人账户支出
        /// 参数类型：数值型
        /// 参数长度：16,2
        /// 代码标识：
        /// 是否必填：Y
        /// 
        /// </summary>
        [DataMember(Name = "acct_pay")]
        public decimal AcctPay { get; set; }

        /// <summary>
        /// 开始日期
        /// 参数类型：日期型
        /// 参数长度：
        /// 代码标识：
        /// 是否必填：Y
        /// yyyy-MM-dd
        /// </summary>
        [DataMember(Name = "begndate")]
        public string Begndate { get; set; }

        /// <summary>
        /// 结束日期
        /// 参数类型：日期型
        /// 参数长度：
        /// 代码标识：
        /// 是否必填：Y
        /// yyyy-MM-dd
        /// </summary>
        [DataMember(Name = "enddate")]
        public string Enddate { get; set; }

    }

    /// <summary>
    /// 
    /// </summary>
    [DataContract]
    public class SI3203InputModel
    {
        [DataMember(Name = "data")]
        public SI3203Data Data { get; set; }
    }

    /// <summary>
    /// 3203
    /// 清算申请
    /// </summary>
    [DataContract]
    public class SI3203RequestModel : SIBaseRequestModel
    {
        /// <summary>
        /// 交易输入
        /// </summary>
        [DataMember(Name = "input")]
        public SI3203InputModel Input { get; set; }

        public SI3203RequestModel(MedicalInsuranceOption config) : base(config)
        {
            Infno = "3203";
        }
    }
}
